The present invention relates to digital radio communication techniques using Code Division Multiple Access (CDMA).
It is more especially aimed at multi-user detection procedures which are sometimes employed in these techniques to improve the reception performance.
A CDMA signal processed by a receiver can be expressed, after filtering and transposition to baseband, as follows:
                              y          ⁡                      (            t            )                          =                                            ∑                              u                =                1                            U                        ⁢                                                  ⁢                                          y                u                            ⁡                              (                t                )                                              +                      n            ⁡                          (              t              )                                                          (        1        )            where n(t) is additive noise and U is the number of channels multiplexed on the CDMA carrier, the general expression for whose contributions yu(t) is:
                                          y            u                    ⁡                      (            t            )                          =                              ∑            i                    ⁢                                          ⁢                                    b              i              u                        ·                                          s                i                u                            ⁡                              (                                  t                  -                  iT                                )                                                                        (        2        )            where:                biu is the information symbol of rank i transmitted on the u-th channel;        siu(t) is a generalized code given by the convolution of the impulse response of the u-th channel with the portion corresponding to the symbol biu of the spreading code cu assigned to the channel.        
The number U corresponds to the number of users if each user involved utilizes a single channel. There may however be several channels per user (for example traffic and control).
The spreading codes cu are sequences of discrete samples called “chips”, with real values (±1) or complex values (±1±j), having a given chip rate. The symbols biu also have real values (±1) or complex values (±1±j). The duration of a symbol on a channel is a multiple of the chip duration, the ratio between the two being the spreading factor Q of the channel.
In certain systems, the spreading factor may vary from one channel to another. In such a case, a common spreading factor Q is considered, equal to the greatest common divisor (GCD) of the U spreading factors Qu. A symbol on the channel u is then regarded as the concatenation of Qu/Q consecutive symbols biu whose values are identical.
The duration of the generalized response siu(t) corresponds to Q+W−1 chips if W denotes the length of the impulse response expressed as a number of chips.
By sampling at the chip rate the CDMA signal y(t) received for a block of n symbols on each of the channels, the receiver obtains complex samples that can be modeled by a vector Y of n×Q+W−1 components:Y=A·b+N  (3)where:                b denotes a column vector of size n×U, which can be decomposed into bT=(b1T, b2T, . . . , bnT), (.)T representing the transposition operation, the vectors bi being of size U for 1≦i≦n, with biT=(bi1, bi2, . . . , biU);        N is a random noise vector of size n×Q+W−1;        A=(A1, A2, . . . , An) is a matrix of generalized codes of size (n×Q+W−1)×(n×U) which can be subdivided into n submatrices Ai of size (n×Q+W−1)×U. In the matrix Ai (1≦i≦n), the u-th column (1≦u≦U) is a convolution of the impulse response of the u-th channel and of the Q samples of the spreading code of the u-th channel corresponding to the i-th symbol of the block.        
Stated otherwise, the matrices Ai may be written:Ai=(Ωi1, Ωi2, . . . , ΩiU)  (4)with: Ωiu=Miu·Hiu  (5)where Miu is a Toeplitz matrix of size (n×Q+W−1)×(n×Q+W−Q) obtained from the values ciu(q) of the chips of the spreading code cu of the u-th channel over the duration of the i-th bit of the block:
                              M          i          u                =                  (                                                                                          c                    i                    u                                    ⁡                                      (                    1                    )                                                                              0                                            ⋯                                            0                                                                                                          c                    i                    u                                    ⁡                                      (                    2                    )                                                                                                                    c                    i                    u                                    ⁡                                      (                    1                    )                                                                              ⋰                                            ⋮                                                                                                                                                                                        c                    i                    u                                    ⁡                                      (                    2                    )                                                                              ⋰                                            0                                                                                                          c                    i                    u                                    ⁡                                      (                    Q                    )                                                                                                                                                            ⋰                                                                                  c                    i                    u                                    ⁡                                      (                    1                    )                                                                                                      0                                                                                  c                    i                    u                                    ⁡                                      (                    Q                    )                                                                                                                                                                                                  c                    i                    u                                    ⁡                                      (                    2                    )                                                                                                      ⋮                                            ⋰                                            ⋰                                            ⋮                                                                    0                                            ⋯                                            0                                                                                  c                    i                    u                                    ⁡                                      (                    Q                    )                                                                                )                                    (        6        )            and Hiu is a column vector of size (n−1)×Q+W which, when the U channels are received synchronously, contains (i−1)×Q zeroes, followed by the W samples of the impulse response of the u-th channel relating to the i-th symbol biu, and followed by (n−i)×Q other zeroes. The time offsets in reception along the various channels, in numbers of chips, result in corresponding offsets of the W samples of the impulse response of the channels along the vector Hiu.
The most commonly used receiver uses one or more matched filters to estimate the value of the symbols transmitted on each channel. This receiver estimates the impulse response of the channel along a propagation path or several propagation paths (“rake receiver”).
The operation performed by such receivers amounts to performing the matrix product:Z=Â*·Y  (7)where Â* is the conjugate transpose of an estimate Â=(Â1, Â2, . . . , Ân) of the matrix A=(A1, A2, . . . , An), the matrices Âi stemming from the impulse responses estimated by applying relations (4) and (5).
The n×U components Ziu of the vector Z are respective soft estimates of the n×U symbols biu of the vector b. If the decoding operations performed downstream admit soft estimates as input, the components of the vector Z can be used directly. Otherwise, the sign of these components is taken to form the hard estimates of the symbols.
The matched filter receiver is optimal when the generalized codes (vectors Ωiu) are pairwise orthogonal, i.e. when the matrix A*·A is diagonal. In general, the systems adopt pairwise orthogonal spreading codes having good autocorrelation properties, this making it possible to satisfy this condition to a first approximation.
However, when the impulse response of the channel is taken into account, the orthogonality condition is no longer fulfilled. The above approximation becomes poor especially in the presence of multiple propagation paths.
An object of the present invention is to compensate for the non-optimal nature of the receiver with matched filter in these situations.